package com.crm.service;

import com.crm.dto.ClueDto;
import com.crm.dto.ClueQueryPagePramDto;
import com.crm.dto.GainDto;
import com.crm.dto.IsFalseDto;
import com.crm.pojo.Clue;
import com.crm.result.PageResult;

public interface ClueService {
    /**
     * 分页查询线索信息
     *
     * @param dto
     * @return
     */
    PageResult queryPageClue(ClueQueryPagePramDto dto);

    /**
     * 新增线索
     *
     * @param dto
     */
    void addClue(ClueDto dto);

    /**
     * 根据线索id查询线索基础信息
     *
     * @param id
     * @return
     */
    Clue queryById(Long id);

    /**
     * 分页查询线索池信息
     * @param dto
     * @return
     */
    PageResult queryPagePool(ClueQueryPagePramDto dto);

    /**
     * 根基线索id查询跟进记录
     * @return
     */
    PageResult queryRecord(Long id);

    /**
     * 从线索池中捞取
     * @param gain
     */
    void gainClue(GainDto gain);

    /**
     * 伪线索
     * @param id
     * @param dto
     */
    void isFalse(Long id, IsFalseDto dto);

    /**
     * 添加跟进
     * @param record
     */

}
